1. Technical Field
This disclosure relates generally to data storage, and, more specifically, to arranging data stored on storage media.
2. Description of the Related Art
A set of data is typically written to solid-state storage media by performing an erase operation on a group of memory cells followed by a program operation on those cells. Because of the small size of these cells and the high voltages used to perform these operations, the cells can only be erased and programmed a limited number of times before the transistors within the cells begin to degrade.
To improve the longevity of memory cells, modern storage systems may implement a log-structured storage to ensure that writes to cells are more evenly distributed across the storage to produce better wear leveling (as opposed to writing particular cells frequently while other cells go unused). When storing data using a log-structure storage, data may be written at an append point that starts at an initial portion in the storage and advances forward as writes are performed. Accordingly, when portions of data are updated, rather than overwriting those portions with the updated data, the previously stored portions of the data may instead be invalidated as updated versions of the data are written to the append point in the storage. The memory cells storing the invalid data may eventually be erased in order to permit the cells to be programmed to store subsequent data.
In some instances, a storage system may execute a groomer process that is responsible for identifying blocks of memory cells with invalid data and erasing those blocks. This identifying and erasing of blocks for subsequent reuse is sometimes referred to as “garbage collection.”